package cn.huiyunche.base.service.interfaces;

import cn.huiyunche.base.service.model.DUserAddress;
import cn.huiyunche.base.service.model.SUser;
import cn.huiyunche.base.service.vo.TmsBareaVo;
import cn.huiyunche.tools.basic.exceptions.BusinessException;

import java.util.List;

/**
 * 司机长跑路线
 *
 * @author lm
 */
public interface DUserAddressService {

	/**
	 * 根据用户电话 查询用户常用地址
	 *
	 * @param phone the phone
	 * @return list list
	 */
	public List<DUserAddress> getList(String phone);

	/**
	 * 查询用户意愿路线
	 *
	 * @return list list
	 * @throws BusinessException the business exception
	 */
	public List<TmsBareaVo> getList() throws Exception;

	/**
	 * 根据手机号查询用户意愿路线
	 *
	 * @param phone the phone
	 * @return list by phone
	 * @throws BusinessException the business exception
	 */
	public List<TmsBareaVo> getListByPhone(String phone) throws Exception;

	/**
	 * 获取当前人送司机信息
	 *
	 * @param phone 手机号
	 * @return 用户信息 user
	 */
	public SUser getUser(String phone);

	/**
	 * 意愿路线修改／新增
	 *
	 * @param addressVo the address vo
	 * @return long long
	 * @throws BusinessException the business exception
	 */
	Long modify(String addressVo) throws Exception;


	/**
	 * 根据ID删除意愿路线
	 *
	 * @param id the id
	 * @return int int
	 * @throws BusinessException the business exception
	 */
	int del(Long id) throws BusinessException;

	/**
	 * Ge user checked list list.
	 *
	 * @param sUserId the s user id
	 * @return the list
	 * @throws Exception the exception
	 */
	List<DUserAddress> geUserCheckedList(Long sUserId) throws Exception;
}
